package Dados;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class IO {

    private String diretorio = ""; //Caminho dos arquivos

    public IO(String Diretorio) {
        //Carregamento da variavel com o Diretório correto
        diretorio = Diretorio;
    }

    public String ListarPastas() {
        //list contem o nome de todos os arquivos da sua respectiva pasta.
        InputStream is = heraclito.Edicao.class.getResourceAsStream(diretorio + "/list");
        //usado '/' ao inves de System.getProperty("file.separator") pois 
        //se trata de um resource
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        String lista = "";
        try {
            String aux = br.readLine();
            while (aux != null) {//Adiciona todo o conteudo do arquivo list para a variavel lista
                lista += aux + "\n";
                aux = br.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return lista;
    }

    public String ListarExemplos(String Pasta) {
        InputStream is = heraclito.Edicao.class.getResourceAsStream(diretorio+"/"+Pasta+"/list");
        BufferedReader br=new BufferedReader(new InputStreamReader(is));
        String lista = "";
        try {
            String aux = br.readLine();
            while (aux != null) {//Adiciona todo o conteudo do arquivo list para a variavel lista
                lista += aux + "\n";
                aux = br.readLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return lista;
    }

    public String AbrirExemplo(String Pasta, String Arquivo) {
        String Texto = "";
        try {
            //Carrega o texto
            InputStream is = heraclito.Edicao.class.getResourceAsStream(diretorio+"/"+Pasta+"/"+Arquivo);
            BufferedReader in = new BufferedReader(new InputStreamReader(is));
            String linha;
            //Le o arquivo linha a linha e armazena na variavel Texto
            while ((linha = in.readLine()) != null) {
                Texto = Texto + linha + "\r\n";
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Texto; //Retorna o arquivo lido
    }
}
